package com.bt.lms.service;

import com.bt.lms.entity.CourseInfo;
import com.bt.lms.entity.EnrollmentPlan;
import com.bt.lms.bo.EnrollmentList;
import com.bt.lms.entity.page.Page;

/**
 * 招生计划模块
 * @author 李鹏
 */
public interface EnrollmentPlanService {


    /**
     *
     * 分页条件查询功能
     * @param page 分页条件模型 学员名单列表
     *                  每一页的条数：按招生计划，按专业，学员编号，学员姓名，学籍状态：
     *                                                                 在籍，未注册，转出，休学，退学，开除，毕业，异动中
     *                  页码数：
     *
     * @return 分页模型
     *          每页多少条数据：10
     *          总条数：
     *          页码：
     *          数据：
     *
     */
    public Page<EnrollmentList> pagingConditionQuery(Page<EnrollmentList> page,Page<EnrollmentPlan> enrollmentPlanPage);

    /**
     * 新增招生计划功能
     * @param enrollmentPlan 招生计划
     * @return 是否成功
     */
    public boolean add(EnrollmentPlan enrollmentPlan) throws Exception;

    /**
     * 查看招生计划详情功能
     * @param id 要查看的招生计划id
     * @return 招生计划信息，报名材料类型，教学计划(名称)
     */
    public EnrollmentPlan detail(Long id,Long teachPlanId) throws Exception;

    /**
     * 编辑招生计划功能
     * @param id 要编辑的招生计划id
     * @param enrollmentPlan 编辑后的招生计划数据
     * @return 是否成功
     */
    public boolean edit(Long  id,EnrollmentPlan enrollmentPlan) throws Exception;

    /**
     * 启用招生计划功能
     * @param id 要启用的招生计划的ID
     * @return 是否成功
     */
    public boolean start(Long id) throws Exception;

    /**
     * 暂停招生计划功能
     * @param id 要暂停的某个招生计划的ID
     * @return 是否成功
     */
    public boolean stop(Long id) throws Exception;

    /**
     * 删除招生计划功能
     * @param id 删除某个招生计划的ID
     * @return 是否成功
     */
    public boolean delete(Long id) throws Exception;

    /**
     * 完成招生计划功能
     * @param id  要完成某个招生计划的ID
     * @return 是否成功
     */
    public boolean finish(Long id) throws Exception;

}
